package com.vhall.component.entity.room;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * @author dongsong
 */
@Data
@TableName("room_documents")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "RoomDocumentsEntity对象", description = "文档关联")
public class RoomDocumentsEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("app_id")
    @JsonProperty(value = "app_id")
    private String appId;

    @ApiModelProperty(value = "文档id")
    @TableField("document_id")
    @JsonProperty(value = "document_id")
    private String documentId;

    @ApiModelProperty(value = "文档hash")
    @TableField("hash")
    private String hash;

    @ApiModelProperty(value = "文件类型")
    @TableField("ext")
    private String ext;

    @ApiModelProperty(value = "总页数")
    @TableField("page")
    private Integer page;

    @ApiModelProperty(value = "转换进度>1| 待转码, 2|转码中,3|转码成功,4|转码失败")
    @TableField("trans_status")
    @JsonProperty(value = "trans_status")
    private Integer transStatus;

    @ApiModelProperty(value = "静态转换状态: 0待转换 100转换中 200完成 500失败")
    @TableField("status_jpeg")
    @JsonProperty(value = "status_jpeg")
    private String statusJpeg;

    @ApiModelProperty(value = "swf转换状态: 0待转换 100转换中 200完成 500失败")
    @TableField("status_swf")
    @JsonProperty(value = "status_swf")
    private String statusSwf;

    @ApiModelProperty(value = "动态转换状态: 0待转换 100转换中 200完成 500失败")
    @TableField("status")
    private String status;

    @ApiModelProperty(value = "文档名称")
    @TableField("file_name")
    @JsonProperty(value = "file_name")
    private String fileName;

    @ApiModelProperty(value = "房间id")
    @TableField("room_id")
    @JsonProperty(value = "room_id")
    private String roomId;

    @ApiModelProperty(value = "用户id")
    @TableField("account_id")
    @JsonProperty(value = "account_id")
    private String accountId;

    @TableField("created_at")
    @JsonProperty(value = "created_at")
    private LocalDateTime createdAt;

    @TableField("updated_at")
    @JsonProperty(value = "updated_at")
    private LocalDateTime updatedAt;

    @TableField("deleted_at")
    @JsonProperty(value = "deleted_at")
    private LocalDateTime deletedAt;


}